#requires AutoHotkey v1.1
-; UltimateKEYS (for AutoHotkey v1.1).ahk - 2025-02-19
+; UltimateKEYS (for AutoHotkey v1.1).ahk - 2025-08-14
; Website : https://pieter-degroote.github.io/UltimateKEYS/
compose.item[".G"] := "{u+0120}" ; (Ġ) G with dot above
compose.item[".h"] := "{u+1e23}" ; (ḣ) h with dot above
compose.item[".H"] := "{u+1e22}" ; (Ḣ) H with dot above
-compose.item[".i"] := "{u+0131}" ; (ı) dotless i (Turkish, Azerbaijani)
-compose.item[".I"] := "{u+0130}" ; (İ) I with dot above (Turkish, Azerbaijani)
+compose.item[".i"] := "{u+0131}" ; (ı) dotless i
+compose.item[".I"] := "{u+0130}" ; (İ) I with dot above
compose.item[".j"] := "{u+0237}" ; (ȷ) dotless j
compose.item[".l"] := "{u+0140}" ; (ŀ) l with middle dot
compose.item[".L"] := "{u+013f}" ; (Ŀ) L with middle dot
compose.item["-D"] := "{u+0110}" ; (Đ) D with stroke
compose.item["-e"] := "{u+0113}" ; (ē) e with macron
compose.item["-E"] := "{u+0112}" ; (Ē) E with macron
-compose.item["-g"] := "{u+01e5}" ; (ǥ) g with stroke (Skolt Sami)
-compose.item["-G"] := "{u+01e4}" ; (Ǥ) G with stroke (Skolt Sami)
-compose.item["-h"] := "{u+0127}" ; (ħ) h with stroke (Maltese)
-compose.item["-H"] := "{u+0126}" ; (Ħ) H with stroke (Maltese)
+compose.item["-g"] := "{u+01e5}" ; (ǥ) g with stroke
+compose.item["-G"] := "{u+01e4}" ; (Ǥ) G with stroke
+compose.item["-h"] := "{u+0127}" ; (ħ) h with stroke
+compose.item["-H"] := "{u+0126}" ; (Ħ) H with stroke
compose.item["-i"] := "{u+012b}" ; (ī) i with macron
compose.item["-I"] := "{u+012a}" ; (Ī) I with macron
compose.item["-j"] := "{u+0249}" ; (ɉ) j with stroke
compose.item["bI"] := "{u+012c}" ; (Ĭ) I with breve
compose.item["bo"] := "{u+014f}" ; (ŏ) o with breve
compose.item["bO"] := "{u+014e}" ; (Ŏ) O with breve
-compose.item["bs"] := "{u+0219}" ; (ș) s with comma below (Romanian)
-compose.item["bS"] := "{u+0218}" ; (Ș) S with comma below (Romanian)
-compose.item["bt"] := "{u+021b}" ; (ț) t with comma below (Romanian)
-compose.item["bT"] := "{u+021a}" ; (Ț) T with comma below (Romanian)
+compose.item["bs"] := "{u+0219}" ; (ș) s with comma below
+compose.item["bS"] := "{u+0218}" ; (Ș) S with comma below
+compose.item["bt"] := "{u+021b}" ; (ț) t with comma below
+compose.item["bT"] := "{u+021a}" ; (Ț) T with comma below
compose.item["bu"] := "{u+016d}" ; (ŭ) u with breve
compose.item["bU"] := "{u+016c}" ; (Ŭ) U with breve
compose.item["b3"] := "{u+0292}" ; (ʒ) small letter ezh
compose.item["ft"] := "{u+0288}" ; (ʈ) t with retroflex hook
compose.item["fT"] := "{u+01ae}" ; (Ʈ) T with retroflex hook
compose.item["fv"] := "{u+2c71}" ; (ⱱ) v with right hook
+compose.item["fy"] := "{u+1eff}" ; (ỿ) y with loop
+compose.item["fY"] := "{u+1efe}" ; (Ỿ) Y with loop
compose.item["fz"] := "{u+0290}" ; (ʐ) z with retroflex hook
-; Compose : Swash Tail and Other Variations
-
-compose.item["tc"] := "{u+a793}" ; (ꞓ) c with bar
-compose.item["tC"] := "{u+a792}" ; (Ꞓ) C with bar
-compose.item["tf"] := "{u+a799}" ; (ꞙ) f with stroke
-compose.item["tF"] := "{u+a798}" ; (Ꞙ) F with stroke
-compose.item["tl"] := "{u+2c61}" ; (ⱡ) l with double bar
-compose.item["tL"] := "{u+2c60}" ; (Ⱡ) L with double bar
-compose.item["ts"] := "{u+023f}" ; (ȿ) s with swash tail
-compose.item["tS"] := "{u+2c7e}" ; (Ȿ) S with swash tail
-compose.item["tz"] := "{u+0240}" ; (ɀ) z with swash tail
-compose.item["tZ"] := "{u+2c7f}" ; (Ɀ) Z with swash tail
-
-
; Compose : Latin Greek Letters and Variations
-compose.item["la"] := "{u+0251}" ; (ɑ) Latin small letter alpha
-compose.item["lA"] := "{u+2c6d}" ; (Ɑ) Latin capital letter alpha
-compose.item["lb"] := "{u+025e}" ; (ɞ) small letter closed reversed open e
+compose.item["la"] := "{u+0251}" ; (ɑ) Latin small letter alpha (script a)
+compose.item["lA"] := "{u+2c6d}" ; (Ɑ) Latin capital letter alpha (script A)
+compose.item["lb"] := "{u+a7b5}" ; (ꞵ) Latin small letter beta
+compose.item["lB"] := "{u+a7b4}" ; (Ꞵ) Latin capital letter beta
compose.item["ld"] := "{u+1e9f}" ; (ẟ) Latin small letter delta
compose.item["le"] := "{u+025b}" ; (ɛ) small letter open e (Latin small epsilon)
compose.item["lE"] := "{u+0190}" ; (Ɛ) capital letter open E (Latin capital epsilon)
compose.item["l7"] := "{u+0242}" ; (ɂ) small letter glottal stop
compose.item["l&"] := "{u+0241}" ; (Ɂ) capital letter glottal stop
compose.item["l?"] := "{u+0294}" ; (ʔ) unicase letter glottal stop
+compose.item["l;"] := "{u+02bb}" ; (ʻ) modifier letter turned comma
+compose.item["l'"] := "{u+02bc}" ; (ʼ) modifier letter apostrophe
; Compose : Turned and Reversed Letters
compose.item["rA"] := "{u+2c6f}" ; (Ɐ) capital letter turned A
compose.item["rb"] := "{u+025c}" ; (ɜ) small letter reversed open e
compose.item["rB"] := "{u+a7ab}" ; (Ɜ) capital letter reversed open E
+compose.item["rc"] := "{u+025e}" ; (ɞ) small letter closed reversed open e
compose.item["rd"] := "{u+018d}" ; (ƍ) Latin small letter turned delta
compose.item["re"] := "{u+01dd}" ; (ǝ) small letter turned e
compose.item["rE"] := "{u+018e}" ; (Ǝ) capital letter reversed E
compose.item["rm"] := "{u+026f}" ; (ɯ) small letter turned m
compose.item["rM"] := "{u+019c}" ; (Ɯ) capital letter turned M
compose.item["ro"] := "{u+0264}" ; (ɤ) small letter ram's horn (baby gamma)
-compose.item["rq"] := "{u+0252}" ; (ɒ) Latin small letter turned alpha
-compose.item["rQ"] := "{u+2c70}" ; (Ɒ) Latin capital letter turned alpha
+compose.item["rq"] := "{u+0252}" ; (ɒ) Latin small letter turned alpha (turned script a)
+compose.item["rQ"] := "{u+2c70}" ; (Ɒ) Latin capital letter turned alpha (turned script A)
compose.item["rr"] := "{u+0279}" ; (ɹ) small letter turned r
compose.item["rt"] := "{u+0287}" ; (ʇ) small letter turned t
compose.item["rT"] := "{u+a7b1}" ; (Ʇ) small letter turned T
compose.item["rZ"] := "{u+01b8}" ; (Ƹ) Latin capital letter ezh reversed
+; Compose : Swash Tail and Other Variations
+
+compose.item["tc"] := "{u+a793}" ; (ꞓ) c with bar
+compose.item["tC"] := "{u+a792}" ; (Ꞓ) C with bar
+compose.item["tf"] := "{u+a799}" ; (ꞙ) f with stroke
+compose.item["tF"] := "{u+a798}" ; (Ꞙ) F with stroke
+compose.item["tl"] := "{u+2c61}" ; (ⱡ) l with double bar
+compose.item["tL"] := "{u+2c60}" ; (Ⱡ) L with double bar
+compose.item["ts"] := "{u+023f}" ; (ȿ) s with swash tail
+compose.item["tS"] := "{u+2c7e}" ; (Ȿ) S with swash tail
+compose.item["tz"] := "{u+0240}" ; (ɀ) z with swash tail
+compose.item["tZ"] := "{u+2c7f}" ; (Ɀ) Z with swash tail
+
+
; Compose : Currency Symbols
compose.item["$a"] := "{u+058f}" ; (֏) Armenian dram
compose.item["s?"] := "{u+2e2e}" ; (⸮) reversed question mark
compose.item["s/"] := "{u+205e}" ; (⁞) vertical four dots
compose.item["s|"] := "{u+00a6}" ; (¦) broken bar
+compose.item["s["] := "{u+2045}" ; (⁅) left square bracket with quill
+compose.item["s]"] := "{u+2046}" ; (⁆) right square bracket with quill
; Compose : Math Symbols
compose.item[".-"] := "{u+00b7}" ; (·) middle dot
compose.item[".3"] := "{u+2026}" ; (…) horizontal ellipsis
compose.item[".."] := "{u+2026}" ; (…) horizontal ellipsis
-compose.item["a-"] := "{u+00aa}" ; (ª) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
-compose.item["o-"] := "{u+00ba}" ; (º) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
+compose.item["a-"] := "{u+00aa}" ; (ª) feminine ordinal indicator
+compose.item["o-"] := "{u+00ba}" ; (º) masculine ordinal indicator
compose.item["!!"] := "{u+00a1}" ; (¡) inverted exclamation mark
compose.item["??"] := "{u+00bf}" ; (¿) inverted question mark
compose.item["!?"] := "{u+203d}" ; (‽) interrobang
compose.item["BU"] := "{u+0216}" ; (Ȗ) U with inverted breve
+; Compose : Letters with Two Diacritical Marks
+
+compose.item["Ma"] := "{u+01df}" ; (ǟ) a with diaeresis and macron
+compose.item["MA"] := "{u+01de}" ; (Ǟ) A with diaeresis and macron
+compose.item["Mq"] := "{u+01e1}" ; (ǡ) a with dot above and macron
+compose.item["MQ"] := "{u+01e0}" ; (Ǡ) A with dot above and macron
+compose.item["Mo"] := "{u+022b}" ; (ȫ) o with diaeresis and macron
+compose.item["MO"] := "{u+022a}" ; (Ȫ) O with diaeresis and macron
+compose.item["Mk"] := "{u+022d}" ; (ȭ) o with tilde and macron
+compose.item["MK"] := "{u+022c}" ; (Ȭ) O with tilde and macron
+compose.item["Ml"] := "{u+0231}" ; (ȱ) o with dot above and macron
+compose.item["ML"] := "{u+0230}" ; (Ȱ) O with dot above and macron
+compose.item["Mu"] := "{u+01d6}" ; (ǖ) u with diaeresis and macron
+compose.item["MU"] := "{u+01d5}" ; (Ǖ) U with diaeresis and macron
+compose.item["Mh"] := "{u+01d8}" ; (ǘ) u with diaeresis and acute
+compose.item["MH"] := "{u+01d7}" ; (Ǘ) U with diaeresis and acute
+compose.item["My"] := "{u+01da}" ; (ǚ) u with diaeresis and caron
+compose.item["MY"] := "{u+01d9}" ; (Ǚ) U with diaeresis and caron
+compose.item["Mj"] := "{u+01dc}" ; (ǜ) u with diaeresis and grave
+compose.item["MJ"] := "{u+01db}" ; (Ǜ) U with diaeresis and grave
+
+
; Compose : Circumflex Below
compose.item["Id"] := "{u+1e13}" ; (ḓ) d with circumflex below
compose.item["IU"] := "{u+1e76}" ; (Ṷ) U with circumflex below
-; Compose : Tilde Below
-
-compose.item["Te"] := "{u+1e1b}" ; (ḛ) e with tilde below
-compose.item["TE"] := "{u+1e1a}" ; (Ḛ) E with tilde below
-compose.item["Ti"] := "{u+1e2d}" ; (ḭ) i with tilde below
-compose.item["TI"] := "{u+1e2c}" ; (Ḭ) I with tilde below
-compose.item["Tu"] := "{u+1e75}" ; (ṵ) u with tilde below
-compose.item["TU"] := "{u+1e74}" ; (Ṵ) U with tilde below
-
-
-; Compose : Line Below
+; Compose : Line Below and Tilde Below
compose.item["Lb"] := "{u+1e07}" ; (ḇ) b with line below
compose.item["LB"] := "{u+1e06}" ; (Ḇ) B with line below
compose.item["Ld"] := "{u+1e0f}" ; (ḏ) d with line below
compose.item["LD"] := "{u+1e0e}" ; (Ḏ) D with line below
+compose.item["Le"] := "{u+1e1b}" ; (ḛ) e with tilde below
+compose.item["LE"] := "{u+1e1a}" ; (Ḛ) E with tilde below
compose.item["Lh"] := "{u+1e96}" ; (ẖ) h with line below
+compose.item["Li"] := "{u+1e2d}" ; (ḭ) i with tilde below
+compose.item["LI"] := "{u+1e2c}" ; (Ḭ) I with tilde below
compose.item["Lk"] := "{u+1e35}" ; (ḵ) k with line below
compose.item["LK"] := "{u+1e34}" ; (Ḵ) K with line below
compose.item["Ll"] := "{u+1e3b}" ; (ḻ) l with line below
compose.item["LR"] := "{u+1e5e}" ; (Ṟ) R with line below
compose.item["Lt"] := "{u+1e6f}" ; (ṯ) t with line below
compose.item["LT"] := "{u+1e6e}" ; (Ṯ) T with line below
+compose.item["Lu"] := "{u+1e75}" ; (ṵ) u with tilde below
+compose.item["LU"] := "{u+1e74}" ; (Ṵ) U with tilde below
compose.item["Lz"] := "{u+1e95}" ; (ẕ) z with line below
compose.item["LZ"] := "{u+1e94}" ; (Ẕ) Z with line below
; Key : 2
>!sc003::
-<^>!sc003::Send {u+2264} ; (≤) less-than or equal to
+<^>!sc003::Send {u+00b2} ; (²) superscript 2
>!+sc003::
-<^>!+sc003::Send {u+00b2} ; (²) superscript 2
+<^>!+sc003::Send {u+266b} ; (♫) beamed eighth notes
; Key : 3
>!sc004::
-<^>!sc004::Send {u+2265} ; (≥) greater-than or equal to
+<^>!sc004::Send {u+00b3} ; (³) superscript 3
>!+sc004::
-<^>!+sc004::Send {u+00b3} ; (³) superscript 3
+<^>!+sc004::Send {u+00a7} ; (§) section sign
; Key : 4
>!sc005::
>!sc009::
<^>!sc009::Send {u+201e} ; („) double low-9 quotation mark
>!+sc009::
-<^>!+sc009::Send {u+00a7} ; (§) section sign
+<^>!+sc009::Send {u+266a} ; (♪) eighth note
; Key : 9
>!sc00A::
>!sc027::
<^>!sc027::Send {u+00b0} ; (°) degree sign
>!+sc027::
-<^>!+sc027::Send {u+00b7} ; (·) middle dot
+<^>!+sc027::Send {u+2264} ; (≤) less-than or equal to
; Key : ' / " (apostrophe / quotation mark)
>!sc028::
-<^>!sc028::Send {u+266a} ; (♪) eighth note
+<^>!sc028::Send {u+00b7} ; (·) middle dot
>!+sc028::
-<^>!+sc028::Send {u+266b} ; (♫) beamed eighth notes
+<^>!+sc028::Send {u+2265} ; (≥) greater-than or equal to
; Key : \ / | (backslash / vertical line)
>!sc02B::